home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
usenet
/
sources
/
volume89
/
kernel
/
xoper20.3
< prev
Wrap
Internet Message Format
|
1989-10-28
|
41KB
Path: xanth!ames!sun-barr!newstop!sun!swap!root
From: root%swap@Sun.COM (Operator)
Newsgroups: comp.sources.amiga
Subject: v89i192: xoper - examine & control your kernel, Part03/03
Message-ID: <127007@sun.Eng.Sun.COM>
Date: 28 Oct 89 07:16:07 GMT
Sender: news@sun.Eng.Sun.COM
Lines: 1195
Approved: page@sun.com
Submitted-by: g35@dhdurz1@bitnet (Werner Guenther)
Posting-number: Volume 89, Issue 192
Archive-name: kernel/xoper20.3
# This is a shell archive.
# Remove anything above and including the cut line.
# Then run the rest of the file through 'sh'.
# Unpacked files will be owned by you and have default permissions.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar: SHell ARchive
# Run the following text through 'sh' to create:
# xoper.a3
# Xoper.startup
# Xoper.doc
# This is archive 3 of a 3-part kit.
# This archive created: Fri Oct 27 23:48:53 1989
echo "extracting xoper.a3"
sed 's/^X//' << \SHAR_EOF > xoper.a3
Xcaptask dc.l 0
Xsnoopport dc.l 0
Xtasksnum dc.l 0
Xblanks dc.l 0
Xhidestart dc.l 0
Xdispnum dc.l 0
Xiocount dc.l 0
Xdummyinput dc.l 0
Xrastport dc.l 0
Xoutchain dc.l 0
Xfirstline dc.l 0
Xoldfirstline dc.l 0
Xnumlines dc.l 0
Xoldnumlines dc.l 0
Xgothline dc.l 0
Xlastprinted dc.l 0
Xoldlastprinted dc.l 0
Xoldpageend dc.l 0
Xmaxlines dc.l 500
Xrealstack dc.l 0
X
X
Xwnnormflgs dc.l $646
X dc.l $1104f
X
Xwnscrflags dc.l $600
X dc.l $31948
X
Xhistory dc.l *+4
X dc.l 0
X dc.l history
Xcurhist dc.l 0
X
X
Xsecs dc.l 0
Xmics dc.l 0
Xtime10 dc.l 0
X
Xtattr dc.l fontname
X dc.w 8
X dc.w 0
X
Xstplist dc.l lh_tail
Xlh_tail dc.l 0
X dc.l stplist
X dc.b 1
X dc.b 0
X
XInInterrupt dc.l 0 ;ln_Succ
X dc.l 0 ;ln_Pred
X dc.b 2 ;ln_Type
X dc.b 60 ;ln_Pri
X dc.l xopsleep ;ln_Name
X dc.l 0 ;is_Data
X dc.l Keyhandler ;is_Code()
X
XIOCounter dc.l 0 ;ln_Succ
X dc.l 0 ;ln_Pred
X dc.b 2 ;ln_Type
X dc.b -1 ;ln_Pri
X dc.l IOcntname ;ln_Name
X dc.l 0 ;is_Data
X dc.l countio ;is_Code()
X
Xnewwindow dc.w 0,0
X dc.w 500,100
X dc.b 0,1
Xnwflgs dc.l $646
X dc.l $1104f
Xwn_firstgad dc.l 0
X dc.l 0
X dc.l windowname
Xnwscreen dc.l 0
X dc.l 0
X dc.w 110,50
X dc.w 808,-1
Xnwtype dc.w 1
X
Xnewscreen dc.w 0,0
Xnssize dc.w 0,0
X dc.w 1
X dc.b 0
X dc.b 1
Xnsviewmode dc.w 0
X dc.w $1f
X dc.l 0
X dc.l windowname
X dc.l 0,0
X
Xexcpterror dc.l 0
Xexcpttask dc.l 0
Xexcptaddr dc.l 0
Xexcptpc dc.l 0
X
Xwindow_l dc.w 0
Xwindow_t dc.w 0
Xwindow_w dc.w 550
Xwindow_h dc.w 200
X
Xcolms dc.w 0
Xtimersig dc.w 0
Xintuisig dc.w 0
Xibufferlen dc.w 0
Xcposy dc.w 0
Xcurpos dc.w 0
Xbottomin dc.w 1
Xipos dc.w 0
Xhnum dc.w 0
Xminnumchars dc.w 2
Xmaxhlines dc.w 10
Xqualifier dc.w 0
Xrows dc.w 0
Xmaxllength dc.w 0
Xloffset dc.w 0
Xrepeat dc.w 0
Xrepeatlen dc.w 0
Xedline dc.w 999
Xcmdptr dc.w 0
Xgetanswer dc.w 0
Xcurrenty dc.w 0
X
Xbinarea dc.b ' ',0
X EVEN
Xminus dc.b ' '
Xdecimal dc.b ' ',0
Xentries dc.b 0
Xtimeout dc.b 5
Xprocnum dc.b 0
Xtimerstate dc.b 0
Xrunning dc.b 0
Xnewpri dc.b 0
Xtasktyp dc.b 0
Xbackground dc.b 0
Xbool dc.b 0
Xprinted dc.b 0
Xcbreak dc.b 0
Xusageflag dc.b 0
Xmnflag dc.b 1
Xtports dc.b 1
Xheadon dc.b 1
Xhideon dc.b 1
Xsorton dc.b 1
Xwanttraps dc.b 0
Xaddlines dc.b 0
Xeof dc.b 0
Xfromfile dc.b 0
Xiconifyon dc.b 1
Xgotguru dc.b 0
Xownscreen dc.b 0
Xinsmode dc.b 0
Xparams dc.b 'tfdlrempisc'
Xparmnum equ *-params
X dc.b 0
Xt2header dc.b ' ID STATE SIGALLOC SIGWAIT SIGRECVD PC TASKNAME',0
Xtheader dc.b ' ID TYPE STATE PRI CPUSE NUM TASKNAME',0
Xlheader dc.b ' NODE CNT VER REV FLAGS ',0
Xlibnam dc.b 'LIBRARY NAME',0
Xdevnam dc.b 'DEVICE NAME',0
Xresnam dc.b 'RESOURCE NAME',0
Xmheader dc.b ' LOWER UPPER FREE ATTR PRI HUNK NAME',0
Xcr dc.b 10,0
Xiheader dc.b ' NODE DATA CODE PRI T S TYPE INTERRUPT NAME',0
Xinheader dc.b ' NODE DATA CODE PRI NAME',0
Xrheader dc.b ' ADDR PRI FLAGS VER TYPE RESIDENT NAME',0
Xpheader dc.b ' NODE PORTNAME FLAGS SIGBT NUM SIGTASK',0
Xhunkheader dc.b ' NUM BCPL DATA LENGTH',0
Xddheader dc.b 'DEVICE HDS SECTORS TRACKS BUFFERS STATE HANDLER',0
Xcdheader dc.b 'PROCESSNAME CURRENT DIRECTORY',0
Xofheader dc.b ' LOCK ACCESS SIZE PATH/FILENAME',0
Xscrheader dc.b 'NUM ADDR TITLE',0
Xfohead dc.b ' NODE CNT Y X TYPE LO HI NAME',0
Xkickhead dc.b 'START END LENGTH',0
Xsnoophead dc.b 'ACTION REQUIREMENTS LENGTH FROM TO CALLER',0
Xstackhead dc.b 'SPLower SIZE USED TASKNAME',0
Xclicomhead dc.b ' ID STATE TYPE MODE NUM PROCESSNAME COMMAND',0
Xtiohead dc.b 'IORQUEST UNIT SECS REQUESTING TASK',0
Xdchead dc.b ' NODE DATA CODE UNIT TASK',0
Xalhead dc.b 'ALIAS NAME COMMAND',0
Xtdd dc.b 'trackdisk.device',0
Xtddrives dc.b 'DF : ',0
Xtimerunits dc.b 'MicroHz ',0
X dc.b 'VBlank ',0
Xaccess dc.b ' Read ',0
X dc.b ' Write ',0
Xromfnt dc.b 'Rom ',0
Xdiskfnt dc.b 'Disk ',0
Xwbname dc.b 'Workbench',0
Xstatus dc.b 'Added ',0
X dc.b 'Running ',0
X dc.b 'Ready ',0
X dc.b 'Waiting ',0
X dc.b 'Exeption ',0
X dc.b 'Removed ',0
X dc.b 'Frozen ',0
X dc.b 'Frozen ',0
Xtype dc.b 'Unknown ',0
Xtasktype dc.b 'Task ',0
X dc.b 'Interrupt ',0
X dc.b 'Device ',0
X dc.b 'Msgport ',0
X dc.b 'Message ',0
X dc.b 'Freemsg ',0
X dc.b 'Replymsg ',0
X dc.b 'Resource ',0
X dc.b 'Library ',0
X dc.b 'Memory ',0
Xsoftinttype dc.b 'Softint ',0
X dc.b 'Font ',0
Xproctype dc.b 'Process ',0
X dc.b 'Semaphore ',0
Xmp_flags dc.b 'Signal ',0
X dc.b 'Softint ',0
X dc.b 'Ignore ',0
Xwindowname dc.b 'Xoper V2.0 ) 1989 Werner G',$fc,'nther',0
Xnewname dc.b 'Xoper',0
Xmemportname dc.b 'MemSnoop',0
Xxopcon dc.b 'XopPackets',0
Xxopsleep dc.b 'Xop-A-A-x',0
XIOcntname dc.b 'Xop-I/O-counter',0
X
Xcmdnum set 0
Xcommds ADDCMD 'time'
X ADDCMD 'taskpri'
X ADDCMD 'info'
X ADDCMD 'pri'
X ADDCMD 'flush'
X ADDCMD 'freeze'
X ADDCMD 'warm'
X ADDCMD 'signal'
X ADDCMD 'break'
X ADDCMD 'alert'
X ADDCMD 'lastalert'
X ADDCMD 'hold'
X ADDCMD 'exit'
X ADDCMD 'clear'
X ADDCMD 'cancel'
X ADDCMD 'taskports'
X ADDCMD 'hunks'
X ADDCMD 'devices'
X ADDCMD 'openlib'
X ADDCMD 'closelib'
X ADDCMD 'currentdir'
X ADDCMD 'cd'
X ADDCMD 'mypri'
X ADDCMD 'files'
X ADDCMD 'locks'
X ADDCMD 'unlock'
X ADDCMD 'screens'
X ADDCMD 'windows'
X ADDCMD 'closescreen'
X ADDCMD 'closewindow'
X ADDCMD 'fonts'
X ADDCMD 'windowfonts'
X ADDCMD 'lockdrive'
X ADDCMD 'freedrive'
X ADDCMD 'capture'
X ADDCMD 'clrcold'
X ADDCMD 'clrcool'
X ADDCMD 'clrwarm'
X ADDCMD 'snoop'
X ADDCMD 'usage'
X ADDCMD 'inputhandler'
X ADDCMD 'header'
X ADDCMD 'sort'
X ADDCMD 'hide'
X ADDCMD 'hidden'
X ADDCMD 'window'
X ADDCMD 'kill'
X ADDCMD 'iconifyoff'
X ADDCMD 'historylines'
X ADDCMD 'minimumchars'
X ADDCMD 'showhistory'
X ADDCMD 'repeat'
X ADDCMD 'remresident'
X ADDCMD 'saveoutput'
X ADDCMD 'killhistory'
X ADDCMD 'backdropicon'
X ADDCMD 'setfont'
X ADDCMD 'trapguru'
X ADDCMD 'outputlines'
X ADDCMD 'usescreen'
X ADDCMD 'usewindow'
X ADDCMD 'timerio'
X ADDCMD 'diskchange'
X ADDCMD 'alias'
X ADDCMD 'remnode'
Xhexarea dc.b ' ',0
Xhextab dc.b '0123456789abcdef'
Xinfoh2 dc.b 'Dispat/Sec:',0
Xinfoh1 dc.b 'CPU:',0
Xinfoh3 dc.b 'CPU activity: ',0
Xinfoh6 dc.b 'Total:',0
Xinfoh4 dc.b '% ',0
Xinfoh7 dc.b 'I/O Ints/Sec: ',0
Xcpu0 dc.b '68000',0
Xcpu1 dc.b '68010',0
Xcpu2 dc.b '68020',0
Xcpu3 dc.b '/68881',0
Xdevload dc.b 'loaded ',0
Xdevnload dc.b 'unloaded ',0
Xinten dc.b 'E ',0
Xintdis dc.b 'D ',0
Xintserv dc.b 'S ',0
Xinthand dc.b 'H ',0
Xnotfile dc.b '--- ------- ------- ------- ',0
Xlongnix dc.b '-----'
Xnix dc.b '--- ',0
Xnoinfo dc.b 'No Info on'
Xoneblank dc.b ' ',0
Xequal dc.b '= ',0
Xnamerr dc.b 'Unable to find ',0
Xfonterr dc.b "Can't open ",0
Xadrerr dc.b 'Address Error!',0
Xaliaserr dc.b 'Single character alias names using "',0
Xaliaserr2 dc.b '"',10,'are not allowed.',0
Xopenerr dc.b 'Could not open file ',0
Xnoderr dc.b "Can't find this Node. Continue anyway ? (Y/N)",0
Xlisterr dc.b 'Unable to find ListHeader. Sort aborted.',0
Xwiwerr dc.b 'Script file only',0
Xgurutxt dc.b 'Guru Meditation #',0
Xclrtxt dc.b 'Memory Hunks cleared.',0
Xcanerr0 dc.b 'Process is not a CLI-task',10
X dc.b 'Has it been started from Workbench ? (Y/N)',10,0
Xcanerr1 dc.b 'Process was created by CreateProc()',10
X dc.b 'Shall I UnLoad() ? (Y/N)',10,0
Xunloaderr dc.b "Arrrgh.. can't find segments, aborting",0
Xnoprocs dc.b 'Not a Process.',0
Xnotload dc.b 'No program loaded.',0
Xcliprocs dc.b 'Cli-Process',0
Xprocloaded dc.b 'Loaded as a command: ',0
Xsegloaded dc.b 'Created by CreateProc()',0
Xcoldtxt dc.b 'Cold Capture: ',0
Xcooltxt dc.b 'Cool Capture: ',0
Xwarmtxt dc.b 'Warm Capture: ',0
Xkicktxt dc.b 'KickMem : ',0
Xunset dc.b 'unset',0
Xintnames dc.b 'Serial Out ',0
X dc.b 'Disk Block ',0
X dc.b 'SoftInt ',0
X dc.b 'Ports ',0
X dc.b 'Coper ',0
X dc.b 'Vert.Blank ',0
X dc.b 'Blitter ',0
X dc.b 'Audio Ch.0 ',0
X dc.b 'Audio Ch.1 ',0
X dc.b 'Audio Ch.2 ',0
X dc.b 'Audio Ch.3 ',0
X dc.b 'Serial In ',0
X dc.b 'Disk Sync ',0
X dc.b 'External ',0
X dc.b 'SoftInt ',0
X dc.b 'NMI ',0
Xinttyp dc.b 0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1
Xfontname dc.b 'topaz.font',0
Xdevicenam dc.b 'input.device',0
Xtimernam dc.b 'timer.device',0
Xmemlarg dc.b 'LARGEST ',0
Xmemclr dc.b 'CLEAR ',0
Xmemfast dc.b 'FAST ',0
Xmemchip dc.b 'CHIP ',0
Xmempubl dc.b 'PUBLIC ',0
Xfailed dc.b 'Failed !',0
Xallok dc.b 'ALLOC: ',0
Xfree dc.b 'FREE: ',0
Xbackg dc.b 'Bckg ',0
Xforeg dc.b 'Frgr ',0
Xscript dc.b 'Batch ',0
Xinteract dc.b 'Intct ',0
Xstartupname dc.b 'S:Xoper.Startup',0
Xnameerr dc.b 'Name or address is missing.',10
Xsynerr dc.b 'Syntax Error, type "?" for help',10,0
Xwberr dc.b "Can't examine Workbench locks",0
Xdnotf dc.b 'Directory not found',0
Xnotdir dc.b 'Not a directory',0
Xnomount dc.b ' not mounted.',0
Xdishelp dc.b 10,'Names are case sensitive and followed by a ":"',0
Xunlerr dc.b 'Lock not found',0
Xunl1 dc.b 'Lock is on ',0
Xunltxt dc.b 'Old lock was: ',0
Xunltxt2 dc.b 'Unlock ? (Y/N)',10,0
Xscnofound dc.b 'Screen not found.',0
Xwinnofound dc.b 'Window not found.',0
Xstperr dc.b 'Task must be "READY" or "WAITING"',10,0
Xwaerr dc.b 'Task must be "FROZEN"',10,0
Xwhatsthis dc.b '???.?',0
Xtoomuch dc.b '??? ',0
Xtimenotset dc.b 'Refresh disabled.',0
Xwhattime dc.b 'Refresh time in secs:',0
Xstoped dc.b '<Break>',0
Xonscr dc.b 'On Screen: ',0
Xwhatnow dc.b 'Kill, ignore (K/I)?',0
Xnoguru dc.b 'None found.',0
Xsoftfail dc.b 'Software failure!',10,'Task: ',0
Xaddrserr dc.b 'Bad alligned address was: ',0
Xprocount dc.b 'PC: ',0
Xdiskfont dc.b 'diskfont.library',0
Xusetxt dc.b 'USAGE: Xoper [T] [F] [L] [D] [R] [E] [M] [P] [I] [S] [C]',10
X dc.b 'OR Xoper -b',10
X dc.b 'DISPLAY:',10
X dc.b '[T]asks [F]=taskflags [L]ibraries [D]evices [R]esources',10
X dc.b 'r[E]sident [M]emory [P]orts [I]nterrupts [S]tack',10
X dc.b '[C]litasks [Q]uit',10,10
X dc.b 'OTHER SYSTEM LISTS:',10
X dc.b 'Windows Screens Fonts WindowFonts CurrentDir',10
X dc.b 'Files Locks Devices InputHandler Capture',10
X dc.b 'TimerIO DiskChange',10,10
X dc.b 'COMMANDS:',10
X dc.b 'Time <secs>',10
X dc.b 'Taskpri <priority> [processnum] <taskname>',10
X dc.b 'Mypri <priority>',10
X dc.b 'Signal <mask(hex)> [processnum] <taskname>',10
X dc.b 'Break [processnum] <taskname>',10
X dc.b 'Freeze|Warm [processnum] <taskname>',10
X dc.b 'Kill [processnum] <taskname>',10
X dc.b 'Snoop [processnum] <taskname>',10
X dc.b 'Hide <taskname>',10
X dc.b 'Pri <priority> <nodename>',10
X dc.b 'Info <name>',10
X dc.b 'RemResident <resident module name>',10
X dc.b 'Clear <longword(hex)>',10
X dc.b 'Hunks [processnum] <procname>',10
X dc.b 'CD <directory> [processnum] <procname>',10
X dc.b 'UnLock <lock>',10
X dc.b 'OpenLib | Closelib <libraryname>',10
X dc.b 'CloseWindow| Closescreen <title>',10
X dc.b 'SetFont [size] <fontname> <windowtitle>',10
X dc.b 'LockDrive | Freedrive <drivename:>',10
X dc.b 'Window <leftedge topedge width height> (scriptfile only) ',10
X dc.b 'OutputLines <maximum # of lines>',10
X dc.b 'HistoryLines <maximum # of lines>',10
X dc.b 'MinimumChars <minimum # of characters>',10
X dc.b 'SaveOutput <filename>',10
X dc.b 'Repeat <Command line>',10
X dc.b 'Alias [<aliasname> <commandname>]',10,10
X dc.b 'COMMADS WITHOUT PARAMETERS:',10
X dc.b 'Flush LastAlert ClrCool ClrCold ClrWarm',10
X dc.b 'TrapGuru',10,10
X dc.b 'OPTIONS:',10
X dc.b 'Sort TaskPorts Hidden Usage Header',10
X dc.b 'IconifyOff BackDropIcon ShowHistory KillHistory UseScreen',10
X dc.b 'UseWindow',10
X dc.b 'Hold Exit'
Xnull dc.b 0
X
X IFD DEBUG
Xdosname dc.b 'dos.library',0
Xintuiname dc.b 'intuition.library',0
Xgfxname dc.b 'graphics.library',0
Xconname dc.b 'console.device',0
X EVEN
X ENDC
X
X BSS blabla
Xbuffer ds.b 2200
Xout ds.b 100
Xdummy ds.b 80
Xin ds.b 80
Xcputime ds.b 1000
Xievent ds.b 32
Xoutevent ds.b 20
Xinputbuffer ds.b 88
Xrepeatbuffer ds.b 81
X
Xmypacket BSS standardpacket
X
XLN_SUCC ds.l 1
XLN_PRED ds.l 1
XLN_TYPE ds.b 1
XLN_PRI ds.b 1
XLN_NAME ds.l 1
XMP_FLAGS ds.b 1
XMP_SIGBIT ds.b 1
XMP_SIGTASK ds.l 1
XMN_SIZE ds.w 1
XLH_HEAD ds.l 1
XLH_TAIL ds.l 1
XLH_TAILPRED ds.l 1
XLH_TYPE ds.b 1
XLH_pad ds.b 1
Xdp_Link ds.l 1
Xdp_Port ds.l 1
Xdp_Type ds.l 1
Xdp_Res1 ds.l 1
Xdp_Res2 ds.l 1
Xdp_Arg1 ds.l 1
Xdp_Arg2 ds.l 1
Xdp_Arg3 ds.l 1
Xdp_Arg4 ds.l 1
Xdp_Arg5 ds.l 1
Xdp_Arg6 ds.l 1
Xdp_Arg7 ds.l 1
X
Xtimerio ds.b 40
X
X CODE ICONIFY,CHIP
X
Xiconify lea icnwindow,a0
X CALL OpenWindow,intuibase
X move.l d0,iconwindow
X
Xwaitforcall move.l iconwindow,a0
X move.l $56(a0),a0 ;wn->UserPort
X
X moveq #0,d1
X move.b 15(a0),d1 ;UserPort->SigBit
X bset d1,d0
X move.l d0,d6
X or.l mysignal,d0
X or.l trapsignal,d0
X CALL Wait,_SysBase
X and.l d0,d6
X bne.s fromwindow
X move.l mysignal,d1
X and.l d0,d1
X bne.s icondone
X and.l trapsignal,d0
X beq.s waitforcall
X move.b #1,gotguru
X bra.s icondone
X
Xfromwindow move.l iconwindow,a0
X move.l $56(a0),a0 ;wn->UserPort
X CALL GetMsg,_SysBase
X tst.l d0
X beq.s waitforcall
X move.l d0,a1
X CALL ReplyMsg,_SysBase
X
X lea nsecs(PC),a0
X lea nmics(PC),a1
X CALL CurrentTime,intuibase
X movem.l osecs,d0-d3
X CALL DoubleClick,intuibase
X tst.l d0
X bne.s icondone
X move.l nsecs(PC),osecs
X move.l nmics(PC),omics
X bra waitforcall
X
Xicondone move.l iconwindow,a0
X move.l 4(a0),icnwindow ;LeftEdge+TopEdge
X CALL CloseWindow,intuibase
X rts
X
Xosecs dc.l 0
Xomics dc.l 0
Xnsecs dc.l 0
Xnmics dc.l 0
X
Xiconwindow dc.l 0
Xicnwindow dc.w 40,170,72,28
X dc.b 0,1
X dc.l $20,$800
X dc.l gadget,0,0,0,0
X dc.w 72,28,72,28
X dc.w 1
X
Xgadget dc.l 0
X dc.w 0,0,72,28,4,2,$20
X dc.l image
X dc.l 0,0,0,0
X dc.w 0
X dc.l 0
X
Ximage dc.w 0,0,72,28,2
X dc.l imagedata
X dc.b 3,0
X dc.l 0
X
Ximagedata dc.w $000F,$FFFF,$FFFF,$FFF8,$0000,$001F,$FFFF,$FFFF
X dc.w $FFFC,$0000,$001F,$0000,$0000,$007C,$0000,$001F
X dc.w $7FFF,$FFFF,$FF7C,$0000,$001F,$4A46,$0244,$557C
X dc.w $0000,$001F,$5108,$D411,$817C,$0000,$001F,$7FFF
X dc.w $FFFF,$FF7C,$0000,$001F,$0000,$0000,$007C,$0000
X dc.w $001F,$30C0,$0000,$007C,$0000,$001F,$1980,$0000
X dc.w $007C,$0000,$001F,$0F0F,$1F0F,$1F7C,$0000,$001F
X dc.w $0619,$9999,$997C,$0000,$001F,$0F19,$999F,$987C
X dc.w $0000,$001F,$1999,$9F18,$187C,$0000,$001F,$30CF
X dc.w $180F,$187C,$0000,$001F,$0000,$1800,$007C,$0000
X dc.w $001F,$0000,$0000,$007C,$0000,$001F,$FFFF,$FFFF
X dc.w $FFFC,$0000,$000F,$FFFF,$FFFF,$FF18,$0000,$0000
X dc.w $0000,$0000,$0000,$0000,$3FFF,$FFFF,$FFFF,$FFFF
X dc.w $FC00,$FDFF,$FFFF,$FFFF,$FFFF,$FF00,$EBFF,$FFFF
X dc.w $FFFF,$FFFF,$FF00,$F7FF,$FFFF,$FFFF,$F800,$0700
X dc.w $FFFF,$FFFF,$FFFF,$FFFF,$FF00,$FFFF,$FFFF,$FFFF
X dc.w $FFFF,$FF00,$FFFF,$FFFF,$FFFF,$FFFF,$FF00,$3FFF
X dc.w $FFFF,$FFFF,$FFFF,$FC00,$0000,$0000,$0000,$0000
X dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$FFFF
X dc.w $FFFF,$FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000
X dc.w $0000,$FFFF,$FFFF,$FF80,$0000,$0000,$FFFF,$FFFF
X dc.w $FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000,$0000
X dc.w $FFFF,$FFFF,$FF80,$0000,$0000,$8000,$0000,$0080
X dc.w $0000,$0000,$8000,$0000,$0080,$0000,$0000,$8000
X dc.w $0000,$0080,$0000,$0000,$8000,$0000,$0080,$0000
X dc.w $0000,$8000,$0000,$0080,$0000,$0000,$8000,$0000
X dc.w $0080,$0000,$0000,$8000,$0000,$0080,$0000,$0000
X dc.w $8000,$0000,$0080,$0000,$0000,$FFFF,$FFFF,$FF80
X dc.w $0000,$0000,$0000,$0000,$00E0,$0000,$0000,$0000
X dc.w $0000,$00E0,$0000,$0000,$1FFF,$FFFF,$F800,$0000
X dc.w $0000,$0080,$0040,$0000,$0000,$0200,$0080,$0040
X dc.w $0000,$0000,$1400,$0080,$0040,$003F,$0000,$0800
X dc.w $0080,$0040,$07FF,$F800,$0000,$0080,$0040,$003F
X dc.w $0000,$0000,$0080,$0040,$0000,$3800,$FFFF,$FFFF
X dc.w $FFFF,$FFFF,$FE00,$0000,$0080,$0040,$0000,$0000
X
Xiconifgad dc.l 0
X dc.w -83,0
X dc.w 31,10
X dc.w $14
X dc.w $41
X dc.w 1
X dc.l iconifimg
X dc.l 0
X dc.l 0
X dc.l 0
X dc.l 0
X dc.w 0
X dc.l 0
X
Xiconifimg dc.w 0,0
X dc.w 31,10
X dc.w 2
X dc.l iconifdata
X dc.b $0003,$0000
X dc.l 0
X
Xiconifdata dc.w $7FFF,$FFFC,$601F,$FFFC,$6000,$000C,$607F,$FFCC
X dc.w $6060,$00CC,$6067,$FCCC,$7E60,$00CC,$7E7F,$FFCC
X dc.w $7E00,$000C,$7FFF,$FFFC,$0000,$0000,$1FE0,$0000
X dc.w $1FFF,$FFF0,$1F80,$0030,$1F9F,$FF30,$1F98,$0330
X dc.w $019F,$FF30,$0180,$0030,$01FF,$FFF0,$0000,$0000
X
X
X END
X
SHAR_EOF
echo "extracting Xoper.startup"
sed 's/^X//' << \SHAR_EOF > Xoper.startup
X;eine dumme Xoper Demo
Xtime 2
Xusescreen
Xt l f d m e p i s c ?
Xalias ih inputhandler
Xalias dc diskchange
Xalias tio timerio
X
X
SHAR_EOF
echo "extracting Xoper.doc"
sed 's/^X//' << \SHAR_EOF > Xoper.doc
X Xoper V2.0
X
X Copyright (c) Werner Gunther 1989
X
XXoper is a freeware program to display and to control system activity.
XPermition is granted to freely distribute this program.
X
X--------------------------------------------------------------------------
XChanges in V1.2:
XNew commands: Snoop, Capture, ClrCool, ClrWarm, ClrCold.
XAdded : CPU usage by task.
X
XCancel command has been rewritten, some minor bugs removed.
X---------------------------------------------------------------------------
XChanges in V1.3:
XNew commands: [S]=Stack usage, Sort, Hide, Hidden, Header, Window,
X InputHandler.
XAdded : Support of startup-scripts, I/O Interrupts/second, 'Kill' an
X alias for 'Cancel'.
XSome BIG bugs have been removed: The port-display used to GURU if more than
X32 Ports did exist. The Cli Xoper has been started did act like having a
Xpriority of 128. Unlock didn't unlock sometimes, the interrupt/priority
Xfield did contain rubbish, Currentdir didn't examine all Processes.
XThere were some more, minor bugs, all (hopefully) removed.
X---------------------------------------------------------------------------
XChanges in V1.3b:
XNew commands: [C] information on CLI-Tasks.
XAdded : 'Time 0' stops any update, System-Requesters are now handeled
X correctly (affects 'Kill' and 'Closewindow').
X---------------------------------------------------------------------------
XChanges in V2.0:
XThe 'user interface' (what user interface ?) has been rewritten from
Xscratch, and a small iconify routine has been added. To customize the whole
Xthing a little bit, there are a few new commands:
X MinimumChars, HistoryLines, ShowHistory, KillHistory, OutputLines,
XIconifyOff, BackDropIcon, UseScreen, UseWindow.
XOther new commands include:
XTimerIO, RemResident, Repeat, TrapGuru, Setfont, DiskChange, Alias,
XSaveOutput.
XAddresses are now shown as 32-Bit values for 68020 compatibility. The 'More'
Xcommand is obsolete and has been removed. The 'interrupt list' has two new
Xfields. 'Time' w/o parameters shows current setting. 'display commands'
Xseparated by blanks will display the lists one by one, instead of
Xdisplaying them all at once.
X---------------------------------------------------------------------------
XStarting Xoper from CLI:
X
XXoper [T] [F] [S] [L] [D] [R] [E] [M] [P] [I] [C]
X
XThese parameters are described below. For all those who like long
XStartup-Sequences, overcrowded memory and hot-keys enter
X
XXoper -b
X
XThis will install Xoper in background waiting for LeftAmiga-RightAmiga-X
Xto pop up. In both cases you don't have to RUN or RUNBACK Xoper, it will
Xalways create its own process.
X
XAt startup Xoper loads and executes a file named S:Xoper.Startup if such a
Xfile is available. This startup-script is used to set default values, the
Xwindow size or the initial default list to be displayed. The Xoper-window
Xwill only be opened after the startup-script has been processed. Look at the
Xend of the document for a sample startup file.
X
XXoper Window:
X-------------
X The window (or screen if you request one) is devided into two sections: a
Xvery small input line on the bottom and a large output area on the top. If
Xthe output exceeds the size of the window you may scroll or 'page' through
Xthe text using the num-pad keys:
X
XA1000 A2000/A500
X 7 Home Top of display
X 1 End Bottom
X 9 Pg Up one page up
X 3 Pg Dn one page down
X 8 Up Arrow one line up
X 2 Down Arrow one line down
X 4 Left Arrow one page left
X 6 Right Arrow one page right
X
X The input section has some line editing facilities and a history buffer
Xcontollable with the following keys (similar to NewCon and ConMan):
X
XCursor left cursor one character left
XShift left cursor to the start of the next word
XCursor right one character right
XShift right previous word
XCursor Up previous line in history buffer
XShift Up top of buffer
XCursor Down next line in history buffer
XShift Down bottom of buffer
XDEL DEL
XBS backspace
XCtrl X delete line
XCtrl Y delete EOL
XIns (numpad '0') toggles insert mode (default is 'on')
XDel (numpad '.') same as DEL
X
XESC moves the input area from the bottom into the
X output section. Entering a command here (i.e
X overwiting an output line), will cause Xoper to add
X the address of that node to your command line.
X Example: Show the hunks of a 'File.System' process:
X type 'T' to get a list of all tasks, press <esc>,
X move the cursor to the line displaying the
X File.System process and type 'Hunks <enter>'. Press
X <enter> once more to return to the usual Xoper
X display.
XHelp displays a help panel.
X
XThe Xoper window has, beside the usual closewindow and depth-arrange
Xgadgets, a custom gadget on its title bar, used to iconify Xoper. The icon
Xmay be moved anywhere on the screen just by dragging it, double clicking
Xthe icon will restart the program. The window itself is a simple_refresh
Xwindow, so it may look a little bit sluggish when it needs a refresh.
X
XXoper Commands:
X---------------
X
X Commands are entered in the command line at the bottom of the window,
Xthese are divided into two groups:
X
XDisplay commands: These are always single character entries and may be
Xspecified in any order, upper or lower case, after the prompt or from CLI
Xas parameters. If more than one list has to be displayed, you may enter
Xseveral commands in one line. Separating them with blanks display the lists
Xone by one instead of showing them all at once.
X
XT = Tasks (Default if Xoper is called without parameters)
XTask node (HEX), Display type, status, priority (decimal), CPU usage
X(percent), processnumber for Dos-Processes (decimal), taskname.
X
XF = Task Flags
XTask node (HEX), Allocated Signals (HEX), Signals the Task is waiting for
X(HEX), Signals received (HEX), Address of the next instruction to be
Xexecuted (HEX).
X
XC = Cli Commands
XTask node (HEX), Type (interactive/batch), Mode (Background/Foreground),
XCLI number, CLI name, program it executes.
X
XL = Libraries
XBase address (HEX), open count (decimal), version (decimal), revision
X(decimal), flags (binary), libraryname.
X
XD = Devices
XBase address (HEX), open count (decimal), version (decimal), revision
X(decimal), flags (binary), devicename.
X
XE = Resident (sorry)
XBase address (HEX), priority (decimal), flags (binary), version
X(decimal), type, name.
X
XR = Resources
XBase address (HEX), open count (decimal), version (decimal), revision
X(decimal), flags (binary), resource name.
X
XM = Memory
XLower and upper bounds (HEX), bytes free (decimal), attributes, priority
X(decimal), hunk name.
X
XP = Ports
XNode address (HEX), portname, flags, signal bit (decimal), queue length
X[number of messages] (decimal), taskname.
X
XI = Interrupts
XNode address (HEX), pointer to interrupt data (HEX), pointer to interrupt
Xcode (HEX), priority (decimal),[T]ype ([S]erver/[H]andler), [S]tate
X([E]nabled/[D]isabled), type (interrupt queue the interrupt belongs to),
Xinterrupt name.
X
XS = Stack
XLower limit of the stack, stack size, currently used stacksize, taskname.
XIf you want to minimize your stack using this utility, please note that
XDOS-functions use 1500 Bytes at the bottom of the Stack frame for their own
Xpurposes and note that the stacksize is only checked one time per second by
Xthis command.
X
XH = Help ( or ?)
XShow a list of commands.
X
X; = NOP
XSkip this line (used for remarks in a script file)
X
XQ = Quit
XSame as QUIT (see below).
X
XExample: Entering TPM would display Tasks, Ports and Memory. The display
Xwould be updated after a few seconds (5 by default, may be changed
Xanytime, see below.)
X
XOther commands that do not display EXEC lists:
XThese commands may be entered upper or lower case. Parameters enclosed
Xin '<>' must be, enclosed in '[]' may be specified. Names are usually
Xentered as ascii strings, it can however happen that two or more nodes of
Xthe same name exist. On tasks you may specify the DOS-Processnumber to
Xsort them out. If everything fails, you can enter the Node-Address with a
Xleading '$'. This address will be checked first before the command is being
Xexecuted. If the check fails, you'll get an error message or a warning or
Xa prompt, depending on what went wrong. Names are always the last parameter
Xto enter. This may seem strange, but it is the simplest way to get rid of
Xembedded blanks.
X
XTime <seconds>
XSet time between updates. Minimum is 1 second, maximum is 255, default is 5
Xseconds. Time 0 stops automatic update and waits for a kepress.
XExample: Time 1
X
XTaskpri <priority> [processnumber] <taskname>
XChange the priority of a task. Values may range from -127 to 127, better
Xuse values between -5 and 5.
XExample: Taskpri 1 New Cli
X
XMypri <priority>
XShortcut for "Taskpri Xoper <priority>"
XExample: Mypri 2
X
XPri <priority> <nodename>
XChange the priority of any other node. This command does not work for Tasks.
XIf the specified node has been found, the entire list the node belongs to
Xwill be resorted.
XExample: Pri 1 Chip Memory (try to allocate memory in CHIP first)
X
XBreak [processnumber] <taskname>
XSet break signals. Useful for tasks running in background or from Workbench.
XExample: Break 3 New CLI
X
XHunks [processnumber] <processname>
XShow location, BCPL-Pointers and length of memory blocks the process uses.
XExample: Hunks RAM
X
XSnoop [processnumber] <taskname>
XTrack memory allocation/deallocation of a task. Press break (CTRL-C) to
Xstop. List includes: action (alloc/free), memory requirements (CHIP/ FAST/
XPUBLIC etc), memory size, memory location (start, end) and the address from
Xwhere AllocMem() was called.
X
XFiles
XList lock, access, size and name of open files.
X
XLocks
XList any lock.
XBUG: Trying to lock the Volume "RAM Disk" crashes the machine sometimes. If
Xa Volume "RAM Disk" is found it will be replaced by the devicename "RAM:"
X(this has been fixed on WB 1.3). Make sure you don't have a disk labeled
X"RAM Disk" or you'll never see its locks:-)
X
XCurrentdir
XList current directory settings of all processes.
X
XDevices
XList name,heads,sectors,tracks,startup-buffers and handler-process of every
XDOS-device.
X
XInputhandler
XDisplay node, priority and name (if any) of the input-handlers currently in
Xuse.
X
XCapture
XShow vectors controlling the reset, i.e. CoolCapture, ColdCapture and
XWarmCapture pointers, KickMem allocations. Useful when searching
Xfor Viruses, but remember that the RAD: device in 1.3 uses the KickMem
Xpointer to recover from a reset.
X
XClrCool
XClrCold
XClrWarm
XClear one of those pointers.
X
XTimerIO
XDisplay pending timer requests. It shows the address of the
XIORequest-structure, the unit (MICROHZ or VBLANK), the time to complete (up
Xto 255 secs) and the task submitting the request.
X
XRemResident <resident module name>
XKicks the resident module out of the ResModules-List. It does not free the
Xmodule itself, but only makes sure it won't be reactivated during the next
Xreset. Removing a ROM-based module does not have any effect.
X
XRepeat <Command string>
XRepeats the command string at the current refresh rate (see 'Time').
XHowever, commands not producing any output won't be repeated, but only
Xexecuted once. Press <enter> to stop.
XExample: Time 1
X Repeat TimerIO
X
XTrapGuru
XActivates a trap handler similar to GOMF. It only works with a 68000
Xprocessor, as it relys on a specified stack frame (at least I think so,
Xcouldn't check it out). If an exeption occurs (i.e. GURU) Xoper will
Xstop (or popup, if running in background) and display some information
Xabout what happened (the taskname causing the error, its program counter,
Xthe alert number etc.) and you'll be asked if you want to (K)ill the task
Xor (I)gnore the exeption. Choosing (i)gnore will do nothing at all if the
Xerroneous program was a process (as it will stop itself displaying a
X'Task held...' requester), but force a task to execute a 'Wait(0L)' (i.e.
Xwait forever) as tasks do directly display an alert box.
X
XAlias <AliasName> <CommandName>
XDefines a new name to be used along with the original command name. The new
Xname should not contain any blanks.
XExample: Alias ih InputHandler
X
XLockdrive <drivename:>
XPrevent DOS, Workbench and Disk-Validator from cluttering on the drive.
XThis command isn't very useful, but I needed it myself. Please note that
Xthe drivename is case sensitive and has to end with a ':'.
X
XFreedrive <drivename:>
XRe-enable a drive.
X
XDiskChange
XShow all installed diskchange interrupts. It displays the node, data and
Xcode fields of the interrupt, the device it is attached to (df0:-df3:) and
Xthe task which added the interrupt (if available). The main purpose for
Xthis command is to check for a virus, as the diskchange interrupt is a
Xwonderful place to install them.
X
XWindows
XList address and title of all windows.
X
XScreens
XList address and title of screens.
X
XFonts
XList address,height,width,type,fist character and last character of all
Xloaded fonts.
X
XWindowfonts
XList Windows and associated fonts.
X
XSetFont [size] <fontname> <window>
XChange the default font of a window. To avoid confusion, you should use a
Xfont with the same font size as the original font, as many programs rely on
Xthe point size.
XExample: Windows
X Press <esc>, move the cursor to the Xoper window line and type
X Setfont diamond.font
X (now you know what I mean by 'relying on a font size' :-))
X
XFreeze [processnumber] <taskname>
XHalt a Task. The task should be READY or WAITING. Frozen tasks are queued in
Xa new list called FROZEN. When you leave Xoper, halted Task will be
Xreleased.
XExample: Freeze Killer Graphics Task
X
XWarm [processnum] <taskname>
XRestart a halted Task. Task must be FROZEN.
XExample: Warm Killer Graphics Task
X
XHide <taskname>
XThe task-list tend to be longer than the window size. You may inhibit the
Xoutput of some tasks you are not interested in using his command.
XExample: Hide trackdisk.device
X
XHidden
XTurn those hidden Tasks back on. It is actually a toggle.
X
XHeader
XToggle the (rather long) header on the task display on/off.
X
XSort
XThe tasks listing is sorted (on V1.3 and above) to avoid 'jumping' of the
Xdisplay. Sort toggles this feature on/off. (Stupid command, but was easy
Xto implement).
X
XInfo <librarynode | devicenode>
XShow additional information stored in the lib_IdString field.
XExample: Info arp.library
X
XOpenlib <libraryname>
XOpen a library. This is useful if you don't want a specified library being
X'flushed' out.
XExample: Openlib arp.library
X
XClear [longword]
XFill unused memory chunks with pattern, default is 0. Handy for debuggers.
XExample: Clear $66726565
X
XFlush
XClean up memory, flush unused libraries, devices and fonts.
X
XLastalert
XShow last Guru Meditation code or rubbish.
X
XUsage
XToggle CPUSE field on the task display between usage relative to all
Xpossible dispatches and usage relative to actually dispatched tasks.
XAhem...not very clear I think. Well, let me try again...
XIf you add all CPUSE fields together you get 100 % (more or less 1%). After
Xentering "Usage" adding the fields together will give you the same value as
Xshown in the 'CPU Activity field'. (I HATE having to write docs)
X
XTaskports
XDisable / enable a listing of taskports if ports are displayed.
X
XWindow <leftedge> [toptedge [width [height]]]
XWorks only on script files. Defines the window to be opened.
XExample: Window 0 0 550 190
X
XHistoryLines <number of lines>
XSet the maximum number of input lines the history buffer should hold.
XDefault is 10 lines.
X
XMinimumChars <number of characters>
XSet the minimum number of characters an inputline should have to be added to
Xthe history buffer.
XDefault is 2 characters.
X
XShowHistory
XShow the history buffer. (quite useless, I know)
X
XKillHistory
XDelete all lines from the history buffer. (still useless)
X
XOutputLines <number of lines>
XSet the maximum number of lines the output buffer may hold. If the buffer
Xoverflows, a line from the top of the buffer will be deleted for each new
Xline.
XThe default value is 500, using a maximum of 500 * 104 = 52000 bytes.
X
XSaveOutput <filename>
XWrite the contents of the output buffer to a file.
X
XIconifyOff
XTurns the iconifying routine off, freeing all memory associated with its
Xcode and image.
X
XBackDropIcon
XPuts the Xoper icon behind all other windows, instead of creating it on top
Xof them.
X
XUseScreen
XOpens Xoper on a screen. The new screen will take its data (width, colors,
Xviewmodes etc.) from the Workbench screen and open a borderless backdrop
Xwindow on it.
X
XUseWindow
XOpens Xoper on a window.
X
XQuit or just Q
XExit Xoper. If Xoper was started with '-b' or if 'Hold' was specified it
Xwill stay in background waiting for LeftAmiga-RightAmiga-X.
X
XHold
XExit Xoper but install a key-handler and stay in background. Window
Xsettings and display commands are saved.
X
XExit
XClean up and quit.
X
X!!!! WARNING: The next few commands are dangerous and 'dirty' !!!!!
X!!!!!!!!!!!! don't use them if not strictly necessary !!!!!!!!!!!!!
X
XKill [processnumber] <taskname>
XKill a task or a process. If the task has been called from CLI, the Task
Xitself and the CLI will be killed. Hunks, Windows, Screens and the
Xteminal-window will be freed. Simple tasks are just RemTask()'ed. If it is
Xnot a CLI Task you'll be asked if it is a Workbench task, if the answer is
X'Yes' unloading will be done by the Workbench. If not, you will be prompted
Xif Xoper should unload the code. Enter 'No' if you don't know how the task
Xhas been started.
X
XClosewindow <title>
XCloses a Window. Please, use it only if the corresponding Task has been
X'Cancel'ed. Use the Window-Structure address if the window has no name.
X
XClosescreen <title>
Xsame as above, but for screens.
X
XUnlock <lock (BPTR)>
XUnlock a file.
X
XCloselib <libraryname>
XThis is exactly the same as CloseLibrary().
X
XCD [processnumber] <processname>
XChange the current directory of a process. You are prompted if the old
Xdirectory lock should be unlocked.
X
XSignal <mask> [processnumber] <taskname>
XSet any task-signal. Mask is a hexadecimal value with or w/o leading '$'.
XSee task's SIGWAIT field for sensible values. Tasks normaly do not wait for
Xsignals only, but for messages, that's why this command may not have the
Xdesired effect, but it is quite useful for tasks hanging around and waiting
Xfor events that may never happen. Warning: Using Signal without any
Xknowledge about what you are going to signal may cause a system-crash!
XExample: Signal 10000000 PopCLI III
X
X----------------------------------------------------------------------------
X;Sample Startup Script (to be placed in s:Xoper.Startup)
X;
X; Window definition on a overscanned + PAL Workbench screen
XWindow 122 0 550 230
X;
X;don't display some Tasks
X;
XHide CON
XHide trackdisk.device
X;
X;but turn them on on Startup
X;
XHidden
X;
X;Change the default list to Ports
X;
XP
X;don't display any prompt if the window is full
XMore
X----------------------------------------------------------------------------
XPlease send flames, bug reports and especially a list of features you would
Xlike to have included in the next version to
X
X Werner Gunther
X Wingertspfad 12
X D 6900 Heidelberg
X (Germany)
X
Xor to my EMAIL address for a fast response:
X
X G35@DHDURZ1.BITNET
SHAR_EOF
echo "End of archive 3 (of 3)"
# if you want to concatenate archives, remove anything after this line
exit